#ifndef GAMEBOARDRENDERERTHREAD_H
#define GAMEBOARDRENDERERTHREAD_H

#include <QThread>
#include <QSize>
#include <QPoint>

class GameBoardView;
class GameBoard;
class GameBoardRendererThread : public QThread
{
  Q_OBJECT
  public:
    GameBoardRendererThread(GameBoard *board, GameBoardView *boardView, unsigned long frameRateInHz);
    void setMousePosition(const QPoint& position);
    void resize(const QSize& size);
    void run();
    void stop();

  protected:
    GameBoard *mBoard;
    GameBoardView *mBoardView;
    unsigned long mFrameRateInHz;
    int mWidth, mHeight;
    bool mRenderBoard, mResizeBoard;
    QPoint mMousePosition;
};

#endif // GAMEBOARDRENDERERTHREAD_H
